﻿#include "widget.h"
#include "ui_widget.h"
#include<QTimer>
#include<QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //启动定时器
    id1 = startTimer(1000); //参数1 间隔 单位毫秒

    id2 = startTimer(2000); //参数2 间隔 单位毫秒

    //定时器的第二种方式
    QTimer * timer = new QTimer(this);
    //启动定时器
    timer->start(500);

    connect(timer,&QTimer::timeout,[=](){
        static int num = 1;

        //label4 每隔0.5秒+1
        ui->label_4->setText(QString::number(num++));
    });

    QTimer * timer2 = new QTimer(this);
    timer2->start(1000);

    connect(timer2,&QTimer::timeout,[=](){
        static int num = 1;

        //label4 每隔1秒+1
        ui->label_2->setText(QString::number(num++));
    });

    QTimer * timer3 = new QTimer(this);
    timer3->start(2000);

    connect(timer3,&QTimer::timeout,[=](){
        static int num = 1;

        //label4 每隔2秒+1
        ui->label_3->setText(QString::number(num++));
    });

    //点击暂停按钮 实现停止定时器
    connect(ui->btn,&QPushButton::clicked,[=](){
        timer->stop();
    });

}

//重写定时器的时间
//void Widget::timeEvent(QTimerEvent * ev)
//{
//    if(ev->timerId() == id1)
//    {
//        static int num = 1;

//        //label2 每隔1秒+1
//        ui->label_2->setText(QString::number(num++));
//    }

//    if(ev->timerId() == id2)
//    {
//        //label3 每隔2秒+1
//        static int num2 = 1;
//        ui->label_3->setText(QString::number(num2++));
//    }
//}

Widget::~Widget()
{
    delete ui;
}

